<?php
add_action( 'rest_api_init', function () {
    register_rest_route('b2ql/v1', '/check/', array(
        'methods' => 'POST',
        'callback' => function($request){
            $user_id = get_current_user_id();
            if(!$user_id){
                return new \WP_Error('b2qlerror',__('未登录','b2ql'),array('status'=>401));
            }
            if(!is_super_admin($user_id)){
                return new \WP_Error('b2qlerror',__('不是超级管理员','b2ql'),array('status'=>401));
            }
            return true;
        },
    ));
    register_rest_route('b2ql/v1', '/userdate/', array(
        'methods' => 'POST',
        'callback' => function($request){
            $id = isset($request['id']) ? intval($request['id']) : false;
            $user_id = get_current_user_id();
            if(!$user_id){
                return new \WP_Error('b2qlerror',__('未登录','b2ql'),array('status'=>401));
            }
            if(!is_super_admin($user_id)){
                return new \WP_Error('b2qlerror',__('不是超级管理员','b2ql'),array('status'=>401));
            }
            if(!$id){
                return new \WP_Error('b2qlerror',__('id为空','b2ql'),array('status'=>401));
            }
            if(class_exists('Jwt_Auth_Public')){
                $user_data = get_user_by('id',$id);
                
                $request = new \WP_REST_Request( 'POST','/wp-json/jwt-auth/v1/token');
                $request->set_query_params(array(
                    'username' => $user_data->data->user_login,
                    'password' => $user_data->data->user_pass
                ));
    
                $JWT = new \Jwt_Auth_Public('jwt-auth', '1.1.0');
                $token = $JWT->generate_token($request);
    
                if(is_wp_error($token)){
                    return new \WP_Error('b2qlerror',$token->get_error_message(),array('status'=>401));
                }
    
                $data = $token;
            }else{
                return new \WP_Error('b2qlerror',__('请安装 JWT Authentication for WP-API 插件','b2ql'),array('status'=>401));
            }
            return $data;
        },
    ));
});